﻿using StructureMap.Configuration.DSL;
using StructureMap.Attributes;

using Tdv.Wfrp.CharacterGenerator.Client.ViewModels.Interfaces;
using Tdv.Wfrp.CharacterGenerator.Client.ViewModels.Implementations;
using Tdv.Wfrp.CharacterGenerator.Client.Services.Implementation;
using Tdv.Wfrp.CharacterGenerator.Services.Interfaces.Navigation;
using Tdv.Wfrp.CharacterGenerator.Client.Views.Implementations;
using Tdv.Wfrp.CharacterGenerator.Domain.Characteristics;

namespace Tdv.Wfrp.CharacterGenerator.Client.IOC
{
    public class CharacterGeneratorClientRegistry : Registry
    {
        public CharacterGeneratorClientRegistry()
        {
            ForRequestedType<INavigationService>().CacheBy(InstanceScope.Singleton).TheDefaultIsConcreteType<NavigationService>();

            ForRequestedType<IMainViewModel>().CacheBy(InstanceScope.Singleton).TheDefaultIsConcreteType<MainViewModel>();

            ForRequestedType<ICharacteristicViewModel>().TheDefaultIsConcreteType<CharacteristicViewModel>();

            ForRequestedType<MainView>().TheDefaultIsConcreteType<MainView>();


        }
    }
}
